package com.spzx.product.service;

import com.spzx.product.domain.ProductSku;
import com.baomidou.mybatisplus.extension.service.IService;
import com.spzx.product.query.SkuQuery;
import com.spzx.product.api.domain.ProductSkuVo;
import com.spzx.product.api.domain.SkuPriceVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品sku 服务类
 * </p>
 *
 * @author atguigu
 * @since 2024-11-12
 */
public interface IProductSkuService extends IService<ProductSku> {

    /**
     * 获取热点商品信息
     * @return
     */
    List<ProductSkuVo> getTopSale();

    /**
     * 根据指定条件查询商品sku列表
     * @param skuQuery
     * @return
     */
    List<ProductSkuVo> selectProductSkuList(SkuQuery skuQuery);

    /**
     * 根据skuId查询sku价格
     * @param skuId
     * @return
     */
    SkuPriceVo getSkuPrice(Long skuId);

    /**
     * 根据商品商品id查询商品sku规格，以Map集合返回
     * @param id
     * @return
     */
    Map<String, Long> getSkuSpecValue(Long id);

    /**
     * 根据SkuID查询SKU商品信息
     *
     * @param skuId
     * @return
     */
    ProductSku getProductSku(Long skuId);

    List<SkuPriceVo> getSkuPriceList(List<Long> skuIdList);
}
